package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.ClientCrmCluepoolLinkmanCreateValidate;
import com.mdd.admin.validate.ClientCrmCluepoolLinkmanUpdateValidate;
import com.mdd.admin.validate.ClientCrmCluepoolLinkmanSearchValidate;
import com.mdd.admin.vo.ClientCrmCluepoolLinkmanListedVo;
import com.mdd.admin.vo.ClientCrmCluepoolLinkmanDetailVo;
import com.mdd.common.core.PageResult;

import java.util.List;

/**
 * 线索联系人服务接口类
 * @author 洁洁
 */
public interface IClientCrmCluepoolLinkmanService {

    /**
     * 线索联系人列表
     *
     * @author 洁洁
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<ClientCrmCluepoolLinkmanListedVo>
     */
    PageResult<ClientCrmCluepoolLinkmanListedVo> list(PageValidate pageValidate, ClientCrmCluepoolLinkmanSearchValidate searchValidate);
    /**
     * 线索联系人列表
     *
     * @author 洁洁
     * @param searchValidate 搜索参数
     * @return PageResult<ClientCrmCluepoolLinkmanListedVo>
     */
    List<ClientCrmCluepoolLinkmanListedVo> all(ClientCrmCluepoolLinkmanSearchValidate searchValidate);

    /**
     * 线索联系人详情
     *
     * @author 洁洁
     * @param id 主键ID
     * @return ClientCrmCluepoolLinkmanDetailVo
     */
    ClientCrmCluepoolLinkmanDetailVo detail(Integer id);

    /**
     * 线索联系人新增
     *
     * @author 洁洁
     * @param createValidate 参数
     */
    void add(ClientCrmCluepoolLinkmanCreateValidate createValidate);

    /**
     * 线索联系人编辑
     *
     * @author 洁洁
     * @param updateValidate 参数
     */
    void edit(ClientCrmCluepoolLinkmanUpdateValidate updateValidate);

    /**
     * 线索联系人删除
     *
     * @author 洁洁
     * @param id 主键ID
     */
    void del(Integer id);

}
